package com.aiti.lulian.mapper;

import com.aiti.base.core.base.mapper.SuperMapper;
import com.aiti.lulian.dto.CommunicateInfoDto;
import com.aiti.lulian.dto.CommunicateInfoSaveDto;
import com.aiti.lulian.entity.CommunicateInfo;
import com.aiti.lulian.vo.CommunicateInfoExportVo;
import com.aiti.lulian.vo.CommunicateInfoVo;
import com.aiti.lulian.vo.EmployeeOpportunityCountVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public interface CommunicateInfoMapper extends SuperMapper<CommunicateInfo> {
    List<EmployeeOpportunityCountVo> queryCommunicateCountList(Page<EmployeeOpportunityCountVo> page, @Param("dto") CommunicateInfoDto dto, @Param("enterpriseId") String enterpriseId,@Param("userId")String userId);

    Map<String, Long> queryCommunicateCount(@Param("enterpriseId") String enterpriseId,@Param("userId") String userId);

    CommunicateInfoVo detailInfo(String baseId);

    List<CommunicateInfoVo> communicatePage(Page page, @Param("dto") CommunicateInfoDto dto);

    List<CommunicateInfoExportVo> communicateList(@Param("dto") CommunicateInfoDto dto);

    List<CommunicateInfo> selectListBusiness(@Param("dto") CommunicateInfoSaveDto communicateInfoDto);

    // 查询商机数量
    Integer queryCommunicateCountBySupplyId(@Param("supplyId") String supplyId, @Param("companyId") String companyId);
}